home *** CD-ROM | disk | FTP | other *** search
/ Magic Disk 64 / Magic_Disk_64_95-06_1995_-_de_Side_A.d64 / sprite-source #2 < prev    next >
Text File  |  2023-02-26  |  4KB  |  202 lines

  1.  
  2.  
  3. ;---------------------------------------
  4. ;
  5. ;          - S P R I T E S -
  6. ;
  7. ;           Source-File #2:
  8. ;
  9. ;     'Sprite-Bewegungs-Routine'
  10. ;
  11. ;          by Hannes Sommer
  12. ;
  13. ;       (c) 1993 CP-Verlag Gmbh
  14. ;
  15. ;---------------------------------------
  16.  
  17.  
  18. v        = 53248
  19.  
  20.  
  21.          *= $0840
  22.  
  23.          .byte 0,255,0,3,255,192
  24.          .byte 15,255,240,31,255,248
  25.          .byte 63,255,252,63,255,252
  26.          .byte 127,189,254,127,189,254
  27.          .byte 255,189,255,255,255,255
  28.          .byte 255,255,255,247,255,239
  29.          .byte 251,255,223,124,126,62
  30.          .byte 127,129,254,63,255,252
  31.          .byte 63,255,252,31,255,248
  32.          .byte 15,255,240,3,255,192
  33.          .byte 0,255,0,0
  34.  
  35.  
  36.          lda #1    ;Initialisierung!
  37.          sta v+21
  38.          lda #1
  39.          sta xhi
  40.          lda #40
  41.          sta x
  42.          lda #136
  43.          sta y
  44.          lda #33
  45.          sta 2040
  46.          lda #7
  47.          sta v+39
  48.          lda #0
  49.          sta up
  50.          sta down
  51.          sta left
  52.          sta right
  53.          sta time
  54.          sta point
  55.  
  56.          sei
  57.          lda #<irq
  58.          sta $0314
  59.          lda #>irq
  60.          sta $0315
  61.          lda #129
  62.          sta $d01a
  63.          lda #27
  64.          sta $d011
  65.          lda #250
  66.          sta $d012
  67.          cli
  68.  
  69.          ldx #0
  70. i1       lda text,x
  71.          beq i2
  72.          jsr $ffd2
  73.          inx
  74.          bne i1
  75. i2
  76.  
  77.  
  78. end      rts
  79.  
  80.  
  81. text     .byte 13,18
  82.          .text "bewegungs-routine im "
  83.          .text "irq aktiviert."
  84.          .byte 146,13,13,0
  85.  
  86.  
  87.  
  88. ;---------------------------------------
  89. ;               I R Q
  90. ;---------------------------------------
  91.  
  92.  
  93. irq      lda $d019
  94.          sta $d019
  95.          bmi t1
  96.          lda $dc0d
  97.          cli
  98.          jmp $ea31
  99.  
  100. t1
  101.  
  102.          lda time
  103.          bne t5
  104.          ldx point
  105.          lda movedats,x
  106.          bpl t2
  107.          ldx #0
  108.          stx point
  109.          lda movedats
  110. t2       sta up
  111.          lda movedats+1,x
  112.          sta down
  113.          lda movedats+2,x
  114.          sta left
  115.          lda movedats+3,x
  116.          sta right
  117.          lda movedats+4,x
  118.          sta time
  119.          lda point
  120.          clc
  121.          adc #5
  122.          sta point
  123. t5       dec time
  124.  
  125.  
  126.          lda y
  127.          sec
  128.          sbc up
  129.          clc
  130.          adc down
  131.          sta y
  132.          ldx xhi
  133.          lda x
  134.          sec
  135.          sbc left
  136.          bcs t6
  137.          ldx #0
  138. t6       clc
  139.          adc right
  140.          bcc t7
  141.          ldx #1
  142. t7       sta x
  143.          stx xhi
  144.  
  145.  
  146.          lda x
  147.          sta v
  148.          lda y
  149.          sta v+1
  150.          lda v+16
  151.          and #254
  152.          ora xhi
  153.          sta v+16
  154.  
  155.  
  156.          jmp $ea81
  157.  
  158.  
  159. x        .byte 0
  160. xhi      .byte 0
  161. y        .byte 0
  162. point    .byte 0
  163. time     .byte 0
  164. up       .byte 0
  165. down     .byte 0
  166. left     .byte 0
  167. right    .byte 0
  168.  
  169. movedats .byte 0,0,0,0,50
  170.          .byte 1,0,0,0,30
  171.          .byte 0,0,1,0,128
  172.          .byte 0,1,0,0,36
  173.          .byte 0,3,0,1,3
  174.          .byte 0,2,0,1,3
  175.          .byte 0,1,0,1,3
  176.          .byte 0,0,0,1,5
  177.          .byte 1,0,0,1,3
  178.          .byte 2,0,0,1,3
  179.          .byte 3,0,0,1,6
  180.          .byte 2,0,0,1,3
  181.          .byte 1,0,0,1,3
  182.          .byte 0,0,0,1,3
  183.          .byte 0,1,0,1,3
  184.          .byte 0,2,0,1,3
  185.          .byte 0,3,0,1,6
  186.          .byte 0,2,0,1,3
  187.          .byte 0,1,0,1,3
  188.          .byte 0,0,0,1,5
  189.          .byte 1,0,0,1,3
  190.          .byte 2,0,0,1,3
  191.          .byte 3,0,0,1,6
  192.          .byte 2,0,0,1,3
  193.          .byte 1,0,0,1,3
  194.          .byte 0,0,0,1,3
  195.          .byte 0,1,0,1,3
  196.          .byte 0,2,0,1,3
  197.          .byte 0,1,0,1,3
  198.          .byte 0,0,0,1,40
  199.  
  200.          .byte 255
  201.  
  202.